// `timescale 1ns / 1ps
// //////////////////////////////////////////////////////////////////////////////////
// // Company: 
// // Engineer: 
// // 
// // Create Date: 2024/05/11 18:51:50
// // Design Name: 
// // Module Name: eeeee
// // Project Name: 
// // Target Devices: 
// // Tool Versions: 
// // Description: 
// // 
// // Dependencies: 
// // 
// // Revision:
// // Revision 0.01 - File Created
// // Additional Comments:
// // 
// //////////////////////////////////////////////////////////////////////////////////


// module hex_counter(
//     input clk,        // 时钟信号
//     input reset,      // 复位信号
//     output [3:0] out  // 4位输出
// );

// reg [3:0] count = 0;  // 计数器寄存器

// always @(posedge clk or posedge reset) begin
//     if (reset) begin
//         count <= 0;  // 同步复位
//     end else begin
//         count <= count + 1;  // 计数器增加
//         if (count == 4'b1111) begin
//             count <= 0;  // 当计数达到16时复位
//         end
//     end
// end

// assign out = count;  // 输出当前计数值

// endmodule

`timescale 1ns / 1ps

module testbench;

// 测试平台信号定义
reg clk;
reg reset;
wire [3:0] out;

// 实例化计数器模块
hex_counter uut (
    .clk(clk),
    .reset(reset),
    .out(out)
);

// 时钟信号生成
always #10 clk = ~clk;  // 生成50MHz的时钟信号

// 测试逻辑
initial begin
    clk = 0;
    reset = 1;  // 初始化时复位
    #100;
    reset = 0;  // 释放复位
end

endmodule